﻿namespace Engine.FileFormats3D
{
    public struct WavefrontMaterial
    {
        #region Private Fields

        private string alphaTextureName;
        private string diffuseTextureName;
        private string materialName;

        #endregion Private Fields

        #region Public Constructors

        public WavefrontMaterial(string MaterialName)
        {
            this.materialName = MaterialName;
            this.diffuseTextureName = MaterialName;
            this.alphaTextureName = MaterialName;
        }

        #endregion Public Constructors

        #region Public Properties

        public string AlphaTextureName
        {
            get { return alphaTextureName; }
            set { alphaTextureName = value; }
        }

        public string DiffuseTextureName
        {
            get { return diffuseTextureName; }
            set { diffuseTextureName = value; }
        }

        public string MaterialName
        {
            get { return materialName; }
        }

        #endregion Public Properties

        #region Public Methods

        public override string ToString()
        {
            return this.materialName;
        }

        #endregion Public Methods

        #region Internal Methods

        internal void SetAlphaTextureName(string textureName)
        {
            this.alphaTextureName = textureName;
        }

        internal void SetDiffuseTextureName(string textureName)
        {
            this.diffuseTextureName = textureName;
        }

        #endregion Internal Methods
    }
}